package com.baofu.paycore.service.facade;

import com.baofu.paycore.service.facade.model.PaycorePageDTO;
import com.baofu.paycore.service.facade.model.dispatch.DispatchModifyReqDTO;
import com.baofu.paycore.service.facade.model.dispatch.DispatchQueryReqDTO;
import com.baofu.paycore.service.facade.model.dispatch.DispatchResDTO;
import com.system.commons.result.PageReqDTO;
import com.system.commons.result.PageRespDTO;
import com.system.commons.result.Result;

/**
 * dispatch服务
 *
 * <p>
 *  1.更新dispatch信息
 *  2.依ID查询dispatch信息
 *  3.分页查询dispatch信息
 * </p>
 * User: xin deng  Date: 2016/12/6 ProjectName: paycore Version: 1.0
 */
public interface DispatchServiceFacade {

    /**
     * 更新dispatch信息
     *
     * @param bean              修改参数
     * @param traceLogId        日志ID
     * @return                  更新成功
     */
    Result<Boolean> updateDispatch(DispatchModifyReqDTO bean, String traceLogId);

    /**
     * 依ID查询dispatch信息
     *
     * @param id                ID
     * @param traceLogId        日志ID
     * @return                  dispatch信息
     */
    Result<DispatchResDTO> queryDispatchById(String id, String traceLogId);

    /**
     * 分页查询dispatch信息
     *
     * @param bean              查询参数
     * @param pageReqDTO        分页参数
     * @param traceLogId        日志ID
     * @return                  dispatch信息
     */
    Result<PageRespDTO<DispatchResDTO>> queryDispatchPage(DispatchQueryReqDTO bean, PageReqDTO pageReqDTO,
                                                          String traceLogId);
}
